package main

import "fmt"

type Person struct {
	string
	int
}

func main() {

	// 光声明map，但是没有初始化，a是初始值nil
	var a map[string]int
	fmt.Println(a == nil) // true

	// map的初始化
	a = make(map[string]int, 8)
	fmt.Println(a == nil) // false

	// map添加键值对
	a["aaa"] = 10
	a["bbb"] = 20

	// 声明map的时候完成初始化
	b := map[int]bool{
		1: true,
		2: false,
	}
	fmt.Println(b)

	// 判断key是否存在
	value, ok := a["aaa"]
	if ok {
		fmt.Println(value)
	} else {
		fmt.Println("查无此人")
	}

	// 删除key
	delete(a, "aaa")
	fmt.Println(a)

	p1 := Person{
		"小娃工资",
		18,
	}
	fmt.Printf("%#v\n", p1)

	var temp = make(map[string]string)
	temp["dd"] = "ddw"
	fmt.Println(temp["dd"])
	fmt.Println(temp["dss"])
	fmt.Printf("%v, %T", temp["dss"], temp["dss"])

}
